package coding.unit5;

/**
 * //使用static修饰符后，再查看重载顺序
 *
 * @author Wang Renlei
 * @Date 2020/2/17
 */
class Bowl {
    Bowl(int k) {
        System.out.println("Bowl--" + k);
    }
    void f1(int k) {
        System.out.println("f1--" + k);
    }
}

class Table {
    static Bowl bowl1 = new Bowl(1);
    Table() {
        System.out.println("Table()");
    }
    void f2(int k) {
        System.out.println("f2--" + k);
    }
    static Bowl bowl2 = new Bowl(2);
}

class Cupboard {
    Bowl bowl3 = new Bowl(3);
    static Bowl bowl4 = new Bowl(4);
    Cupboard() {
        System.out.println("Cupboard()");
        bowl4.f1(2);
    }
    void f3(int k) {
        System.out.println("f3--" + k);
    }
    static Bowl bowl5 = new Bowl(5);
}

public class StaticInitialization {

    static Test123 t343 = new Test123();
    public static void main(String[] args) {
        System.out.println("Creating new Cupboard() in main");
        new Cupboard();
        System.out.println("Creating new Cupboard() in main");
        new Cupboard();
        table.f2(1);
        cupboard.f3(1);
    }
    static Table table = new Table();
    static Cupboard cupboard = new Cupboard();

}

class Test123{
    Test123(){
        System.out.println("开始吧...");
    }
}
